$.jsonUrlEncode = function (param, key, encode) {
        var fn = function (param, key, encode) {
            if (param == null) return '';
            var paramStr = '';
            var t = typeof (param);
            if (t == 'string' || t == 'number' || t == 'boolean') {
                paramStr += '&' + key + '=' + ((encode == null || encode) ? encodeURIComponent(param) : param);
            } else {
                for (var i in param) {
                    var k = key == null ? i : key + (param instanceof Array ? '' : '.' + i);
                    paramStr += fn(param[i], k, encode);
                }
            }
            return paramStr;
        };
        var paramStr = fn(param, key, encode);
        return paramStr.substr(1);
    };